Strong Eventual Consistency
すべてのノードが同じUpdateの集合を受け取った場合、受け取る順序にかかわらず、同じ状態になることを保証する
causal history $ C = [c_1, c_2, ... c_n ]
プロセス$ p_i は、状態$ s_i を持つ
Eventual delivery: ある正しいレプリカに配信された更新は、最終的にすべての正しいレプリカに配信される
$ \forall{i, j} : f \in c_i \Rightarrow ♢f \in c_j
Convergence: 同じアップデートを受け取った正しいレプリカは、最終的に同じ状態になる
$ \forall{i, j} : □c_i = c_j \Rightarrow ♢□s_i \equiv s_j
Termination: 全てのメソッドの実行は終了する
Strong Convergence: 同じアップデートを受け取った正しいレプリカは、(受け取った順序によらず、ロールバックとかせず)同じ状態になる
$ \forall{i,j} : c_i = c_j \Rightarrow s_i \equiv s_j
参考